'begin' # A matrixot feltoltom 0-kal (vagyis meg ures). # 'proc'tablafeltoltes=([,]'int't)[,]'int': ( [meret,meret]'int't1:=t; 'for' i 'from' 1 'to' meret 'do' 'for' j 'from' 1 'to' meret 'do' t1[i,j]:=0 'od' 'od'; t1 ); # Az eddigi matrix kiirasa. # 'proc'tablakiiras=([,]'int't)'void': ( print((newline,newline)); print((" ")); 'for' i 'to' meret 'do' print((i)) 'od'; print((newline)); 'for' i 'to' meret 'do' print((i,t[i,],newline)) 'od'; print((newline)) ); # Nyert-e az utoljara rako jatekos? # 'proc' ellenoriz=([,]'int't,'int'melyik)'bool': ( 'bool' joe:= 'false'; # Igaz, ha nyert, hamis, ha meg nem. # 'int' k1, k2; # Segedvaltozok, ellenorzeshez. # 'bool' vege:= 'false'; # Segedvaltozo, ciklushoz. # 'for' i 'to' meret 'do' 'for' j 'to' meret 'do' 'if' t[i,j]=melyik 'then' k1:=i; k2:=j; # Vizszintesen. # 'while' k2<=meret 'and' 'not'vege 'do' 'if' t[i,k2]=melyik 'then' k2+:=1 'else' vege:='true' 'fi' 'od'; 'if' hany<=k2-j 'then' joe:='true' 'fi'; # Fuggolegesen. # vege:='false'; 'while' k1<=meret 'and' 'not'vege 'do' 'if' t[k1,j]=melyik 'then' k1+:=1 'else' vege:='true' 'fi' 'od'; 'if' hany<=k1-i 'then' joe:='true' 'fi'; # Jobbra-le. # vege:='false'; k1:=i; k2:=j; 'while' k1<=meret 'and' k2<=meret 'and' 'not'vege 'do' 'if' t[k1,k2]=melyik 'then' k1+:=1; k2+:=1 'else' vege:='true' 'fi' 'od'; 'if' hany<=k1-i 'then' joe:='true' 'fi'; # Balra-le. # vege:='false'; k1:=i; k2:=j; 'while' k1<=meret 'and' k2>=1 'and' 'not'vege 'do' 'if' t[k1,k2]=melyik 'then' k1+:=1; k2-:=1 'else' vege:='true' 'fi' 'od'; 'if' hany<=k1-i 'then' joe:='true' 'fi' 'fi' 'od' 'od'; joe # Adjuk vissza a vegeredmenyt. # ); # Bekeri, mekkora legyen a matrix (meret), # # es hany elemet kelljen egymas melle kirakni (hany). # 'int'meret, hany; print(("A tabla merete: ")); read((meret)); print((newline,"Hanyat kelljen kirakni? ")); read((hany)); # A megfelelo meretu matrix letrehozasa. # [meret,meret]'int'tabla; # A matrix feltoltese 0-kal. # tabla:=tablafeltoltes(tabla); # A matrix kiirasa. # tablakiiras(tabla); 'int'betu; # Hanyadik sor. # 'int'szam; # Hanyadik oszlop. # 'bool'kesze:='false'; # Vege van-e mar a jateknak. # 'int'melyikjat:=1; # Melyik jatekos a soros. # 'int'lepesszam:=0; # Eddig hanyat leptunk. # 'while' 'not'kesze 'and' meret*meret>lepesszam 'do' print(("A(z) ",melyikjat,". jatekos kovetkezik!",newline)); print(("A sor, majd az oszlop szamat kerem!",newline)); read((betu,szam)); 'while' tabla[betu,szam]/=0 'do' print(("A sor, majd az oszlop szamat kerem!",newline)); read((betu,szam)) 'od'; tabla[betu,szam]:=melyikjat; kesze:=ellenoriz(tabla,melyikjat); tablakiiras(tabla); lepesszam+:=1; melyikjat:=3-melyikjat 'od'; melyikjat:=3-melyikjat; 'if' 'not'kesze 'then' print((newline,newline,"Nincs nyertes, betelt a tabla.",newline)) 'else' print((newline,newline,"A nyertes a(z) ",melyikjat,". jatekos!!!",newline)) 'fi' 'end'